﻿Public Interface IRoleProvider

    Property ApplicationName() As String
    ReadOnly Property RemoteProviderName() As String

    Sub Initialize(ByVal name As String, ByVal config As System.Collections.Specialized.NameValueCollection)
    Sub AddUsersToRoles(ByVal usernames As String(), ByVal roleNames As String())
    Sub CreateRole(ByVal roleName As String)
    Sub RemoveUsersFromRoles(ByVal usernames As String(), ByVal roleNames As String())

    Function DeleteRole(ByVal roleName As String, ByVal throwOnPopulatedRole As Boolean) As Boolean
    Function FindUsersInRole(ByVal roleName As String, ByVal usernameToMatch As String) As String()
    Function GetAllRoles() As String()
    Function GetRolesForUser(ByVal username As String) As String()
    Function GetUsersInRole(ByVal roleName As String) As String()
    Function IsUserInRole(ByVal username As String, ByVal roleName As String) As Boolean
    Function RoleExists(ByVal roleName As String) As Boolean

End Interface